/**********************************************************************************
**
** Copyright (C) 2009 Jostein Bratlie
** Contact: jostein.bratlie@gmail.com | http://bratlie.info | http://episteme.hin.no
**
** This file is part of GMQtExt, a GMlib and Qt extension library
**
** GMQtExt is free software: you can redistribute it and/or modify
** it under the terms of the GNU Lesser General Public License as published by
** the Free Software Foundation, either version 3 of the License, or
** (at your option) any later version.
**
** GMQtExt is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
** GNU Lesser General Public License for more details.
**
** You should have received a copy of the GNU Lesser General Public License
** along with GMQtExt.  If not, see <http://www.gnu.org/licenses/>.
**
**********************************************************************************/


#ifndef GRAPHICSSCENE_H
#define GRAPHICSSCENE_H


// Qt
#include <QGraphicsScene>

// GMlib
#include <gmWindow>

namespace GMQtExt {

  class GraphicsScene : public QGraphicsScene, public GMlib::GMWindow {
  public:
    GraphicsScene( QObject* parent = 0x0, bool run_init = true );

    QWidget*          getNewDialog( const QString& window_title, double opacity = 0.6 ) const;
    QWidget*          getNewWidget( double opacity = 0.6 ) const;
    void              resize( const QRectF& rect );

  protected:
    void              drawBackground( QPainter * painter, const QRectF & rect );
    void              init();

  }; // END class GraphicsScene

} // END namespace GMQtExt






#endif // GRAPHICSSCENE_H
